class Solution {
    public int deleteAndEarn(int[] nums) {
           int len = 10001 ; 
           int[] array = new int[len];
           for(int num : nums){
            array[num] += num ; 
           }
           int[] f = new int[len] ; 
           int[] g = new int[len] ;
           
           for(int i = 1 ; i < len ; i ++){
              f[i] = array[i] + g[i-1] ; 
              g[i] = Math.max(g[i-1] , f[i-1]) ; 
           }
        return Math.max(g[len-1] , f[len-1]) ;
    }
}